// const { defineConfig } = require('@vue/cli-service')
// module.exports = defineConfig({
//   transpileDependencies: true
// })
const CompressionPlugin = require("compression-webpack-plugin")
const { name } = require('./package');
module.exports = {
  transpileDependencies: true,
  devServer: {
    port: 8092, // 启动项目时的端口号
    hot: false, // Hot Module Replacement
    liveReload: false, // 关闭文件变化后刷新页面
    headers: {
      'Access-Control-Allow-Origin': '*',
    },
    proxy: {
      '/portal-server': {
        target: 'https://api-uat.crehopson.com/',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/portal-server/, '')
      },
      '/property-portal': {
        target: 'http://api-uat.crehopson.com/',
        changeOrigin: true,
        rewrite: path => path.replace(/^\/property-portal/, '')
      },
      //表示以api开头的要用代理
      '/api': {
        // target: 'http://45.105.124.130:8081',// 后台接口域名
        target: 'https://api-uat.crehopson.com',
        ws: true, //如果要代理 websockets，配置这个参数
        changeOrigin: true, //是否跨域
        // secure: false,// 如果是https接口，需要配置这个参数
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  },
  // 根据实际情况起名字 例如 child-project-workorder
  publicPath: '/property-pc/',
  configureWebpack: {
    output: {
      library: `${name}-[name]`,
      libraryTarget: 'umd', // 把微应用打包成 umd 库格式
      chunkLoadingGlobal: `webpackJsonp_${name}`,
    },
  },
  chainWebpack: (config) => {
    // 生产环境，开启js\css压缩
    if (process.env.NODE_ENV !== 'development') {
      config.plugin('compressionPlugin').use(new CompressionPlugin({
        test: /\.(js|css|less|map)$/, // 匹配文件名
        threshold: 1024, // 对超过10k的数据压缩
        minRatio: 0.8,
      }))
    }
  },
};
